package com.nkzy.mapper;

import com.nkzy.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

/**
 * Mapper是MyBatis的接口层，我们在接口层通过注解的方式可以
 * 完成对数据库表进行增删改查操作
 * 可以通过@Mapper注解实现Ioc
 *
 * 接口中胡方法都是抽象的，只有方法的声明，没有方法的实现
 * 在mapper中所有的方法都是抽象的，然后通过注解的方式编写
 * SQL语句实现对数据库表进行crud操作
 */
@Mapper
public interface UserMapper {

    /**
     * 功能：完成通过用户名查询用户
     * 对应的SQL语句
     * select * from user where username=#｛方法中的参数｝
     * @param username:方法的参数是username
     * @return：返回值是User对象
     */
    @Select("select * from user where username=#{username}")
    User selectUserByName(String username);

    /**
     *功能：完成用户的注册
     * 对应的SQL语句：
     * insert into user（username，password，create_time,update_time）values(#{username},#{password},now(),now())
     * @param username:第一个参数，用户名
     * @param password：第二个参数，密码
     */
    @Insert("insert into user(username,password,create_time,update_time) values(#{username},#{password},now(),now())")
    void insert(String username, String password);
}




















